<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">
<link rel=File-List href="./HowToPrismrConfigOnNT_files/filelist.xml">
<title>OWSKiller Install Instructions</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Daryl Collins</o:Author>
  <o:Template>Normal</o:Template>
  <o:LastAuthor>Daryl Collins</o:LastAuthor>
  <o:Revision>2</o:Revision>
  <o:TotalTime>2</o:TotalTime>
  <o:Created>2000-07-19T02:45:00Z</o:Created>
  <o:LastSaved>2000-07-19T02:45:00Z</o:LastSaved>
  <o:Pages>10</o:Pages>
  <o:Words>3507</o:Words>
  <o:Characters>19991</o:Characters>
  <o:Lines>166</o:Lines>
  <o:Paragraphs>39</o:Paragraphs>
  <o:CharactersWithSpaces>24550</o:CharactersWithSpaces>
  <o:Version>9.2720</o:Version>
 </o:DocumentProperties>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p
	{font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
</head>

<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>

<div class=Section1>

<h2>DB Prism Installation and Configuration On NT</h2>

<p class=MsoNormal><b>1. Intent</b> <br>
Simply put the aim was to produce a set of instructions that not only
configured prism but educated the installer. Mostly of all a set of
instructions that helped people set up DB Prism (prism for short) with no prior
knowledge of Apache, Jserv etc. (If like me your background is oracle
development, then the initial learning curve can be fairly steep.) This is NOT
to say that Prisms environment is harder to understand/install than OAS - but Prism
requires numerous 'steps' its not a one step installation. </p>

<p>Why jserv, well when I started out using earlier versions of Prism
(OWSKiller), jserv was one of the options, over the next year or so I expect
TomCat to replace jserv, but it works. It should work with any servlet engine,
even OAS's! </p>

<p>I have excluded cocoon and xml generation, simply to keep it simple stupid
KISS. I have added this <a href="#addcocoon">toward the end</a> </p>

<p>At the end of these instructions you will have a working web server supporting
servlets, and prism configured so that you can generate html pages using
pl/sql. </p>

<p>I keep an updated version of these with the zone files etc at <a
href="http://www.telecomrg.com/hp/darylcollins">http://www.telecomrg.com/darylcollins</a>
so they can be downloaded and maybe help get people up and running faster </p>

<p><b>2. Overview</b> <br>
There are numerous ways to configure the web server, jserv and oracle database,
just so I dont go insane, Im putting them all on the same box, an NT machine.
The configuration parts should apply across platforms but the install is
different, check the install instructions for each platform. </p>

<p>At the time of writing Apache on NT is not considered to be stable/secure
enough for production use, the intent here is not to configure a production
server but a sand box for experimentation. See the apache documentation about
the release of Apache on NT. This DOES NOT mean that Apache will crash every 2
minutes, in fact I&#8217;ve never seen that happen in well over a year - the apache
authors realize that the NT version is just not (yet) up to the high standards
of apache variants on Unix . </p>

<p>There are other servlet engines you could use, with various web servers, but
I&#8217;m not going there. I&#8217;m not going to open the can of worms that is the install
of an Oracle database (others have done this) I am assuming that this has been
done. </p>

<p>The configuration I used is as follows </p>

<p>Pentium III 600 MHz , 128 MB RAM (IBM Think Pad) <br>
Oracle 8.05 installed on drive D:/orant&nbsp; instance name ORCL <br>
Apache 1.3.12 <br>
Jserv 1.1 <br>
JSDK 2.0 <br>
JDK 1.1.8.003 <br>
Prism 1.0.0</p>

<p>We will go through the install of each component, addressing downloads,
installation and configuration for each. </p>

<p>Why are there so many components? </p>

<p>Well Apache is the web server, Jserv is the servlet engine, the jsdk and jdk
cannot under Suns java license be released with jserv, so we need to install
them to allow the servlet engine to work JDK - Java Developers Kit JSDK - Java
Servlet Developers Kit. And last but not least Prism, which is the servlet that
allows html/xml to be generated from the database using pl/sql (ie the pl/sql
cartridge replacement). </p>

<h4>3. Installations/Downloads</h4>

<p class=MsoNormal><b>3.1 Apache - </b>First things first we need a web server
and Apache aint a bad one (maybe the best) </p>

<p>3.1.1 - Download Apache from <a href="http://www.apache.org">http://www.apache.org</a>.
(Get the latest stable version when these instructions where written 1.3.12 was
the latest stable release. With later versions there may be differences in
paths and install procedures.) </p>

<p>3.1.2 This is a self extracting exe. </p>

<p>3.1.3 The instructions assume this goes in <b>c:\program files\apache
group\apache</b>. Select typical install accepting all defaults and this will
be done automatically. </p>

<p>In fact these instructions will put all the software under c:\program files\apache
group\ in various directories. This DOES NOT have to be the case, you can
install the software anywhere you want. Of course following these instructions
may get a little fuzzy if you choose not too. </p>

<p>3.1.4 Notable files </p>

<p><b>c:\program files\apache group\apache\conf\httpd.conf</b> - this is the
apache configuration file, its very well documented. </p>

<p><b>c:\program files\apache group\apache\logs\errors.log</b> - this is the
apache error log - useful for debugging problems later. </p>

<p>3.1.5 Did It Work? </p>

<p>There should be a program group 'Apache Web Server' with a start/stop apache
icon. Start Apache, a dos window should open, kick off a browser and goto url <a
href="http://127.0.0.1">http://127.0.0.1</a> You should see an html page saying
</p>

<p>'If you can see this, it means that the installation of the Apache web
server software on this system was successful. You may now add content to this
directory and <br>
replace this page.' </p>

<p>Along with other things - if you want to change things go read the
documentation, follow the link at the bottom of the page </p>

<p>You may as well stop apache now, as we will have to restart it again soon,
use stop apache from the 'Apache Web Server' Group </p>

<p><b>3.2 JDK</b> </p>

<p>3.2.1 Download jdk (java developers kit) <a href="http://java.sun.com">http://java.sun.com</a>
</p>

<p>3.2.2 This is self extracting, accept all the defaults except for the
install directory </p>

<p>3.2.3 The instructions assume this goes in <b>C:\program files\apache
group\jdk1.1.8&nbsp;</b> again this could be anywhere you want </p>

<p><b>3.3. JSDK</b> </p>

<p>3.3.1 Download JSDK (Java Servlet Development Kit) from <a
href="http://java.sun.com">http://java.sun.com</a> </p>

<p><b><i>Use 2.0, 2.1 will not work according to the apache jserv
documentation, this is subject to changes for later versions</i></b> </p>

<p>3.3.2 This is self extracting, accept all the defaults except for the
install directory </p>

<p>3.3.3 The instructions assume this goes in <b>c:\program files\apache
group\JSDK2.0</b> </p>

<p><b>3.4 Apache JSERV</b> </p>

<p>3.4.1 Download Apache jserv from <a href="http://www.apache.org">http://www.apache.org</a>
</p>

<p>3.4.2 This is self extracting, accept all the defaults except for the
install directory </p>

<p>3.4.3 The instructions assume this goes in <b>c:\program files\apache
group\Apache JServ 1.1</b>, again this could be anywhere you want </p>

<p>3.4.4.You will be prompted for the location of the following files </p>

<p>' The java virtual machine' ie where is the
java.exe?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>c:\program
files\apache group\jdk1.1.8\bin</b> <br>
' The directory JSDK 2.0 is installed in ' ie where is jsdk.jar <b>c:\program
files\apache group\jsdk2.0\lib</b> </p>

<p>You will be asked if you want to modify the apache httpd.conf file, select
yes, this modifies the apache httpd.conf file to kick off jserv when apache is
brought up. You will be asked for the location of the httpd.conf
file.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>c:\program files\apache
group\apache\conf</b> </p>

<p>3.4.5 Notable Files </p>

<p>Apache Jserv extends the apache conf file with </p>

<p># Include the configuration for Apache JServ 1.1 <br>
Include &quot;c:\program files\apache group\Apache JServ
1.1\conf\jserv.conf&quot; </p>

<p>The contents of jserv.conf are included into the httpd.conf (using the
include directive, this is why the jserv install asked you for the location of
httpd.conf file). This separates the jserv directives (in c:\program
files\apache group\Apache JServ 1.1\conf\jserv.conf) from the apache
directives. </p>

<p>We will return here as we need to configure jserv </p>

<p>3.4.6 Did jserv install OK? </p>

<p>Start Apache, kick off a browser and goto url <a
href="http://127.0.0.1/jserv/">http://127.0.0.1/jserv/</a>&nbsp; Keep the
trailing slash. You should see an html jserv configuration page. </p>

<p><b>3.5 Prism</b> </p>

<p>3.5.1 Download Prism from <a href="http://www.plenix.com/dbprism/">http://www.plenix.com/dbprism/</a></p>

<p>3.5.2 Its a zip file or self extracting exe </p>

<p>3.5.3 I will assume this goes in <b>c:\program files\apache group\prism</b> </p>

<p>3.5.4 Notable Files </p>

<p><b>c:\program files\apache group\prism\Readme.txt </b>points at all the
relevant files </p>

<p><b>3.6 JDBC Drivers</b> </p>

<p>3.6.1 If you have oracle on the machine, the odds are that you have the
oracle jdbc drivers if not (or you want to be really sure) download the very
latest&nbsp; from <a href="http://www.technet.com">http://www.technet.com</a>
Note it does not matter what version of the database you have the 8 drivers
work with a 7 database. </p>

<p>3.6.2 I will assume this file is in <b>D:\ORANT\jdbc\lib</b>, there is no
need to do anything with the file, which is where they are put during the
oracle install (assuming D:\ORANT was selected as the oracle home) Why D: well
thats how the machine thats being used to write these instruction is configured
D:\ORANT is the oracle home, change to C or where your oracle home is. </p>

<p>Note - when we come to configure prism there are different settings
depending on your version of jdbc - I used the 8.05 jdbc drives that came with
the database </p>

<h4>4.0 Review</h4>

<p class=MsoNormal>4.1 So far we have a working web server with a servlet
engine - now lets discuss the basic ideas and concepts before moving on to
configuration </p>

<p>4.2 Zones - There's some documentation about zones on the apache pages.
Basically each zone gets mounted by jserv, each zone is a collection of
servlets(or just one servlet). The zones are configured to execute the servlet
when a request is made and return (at least in our case) html. Our zone will be
configured to execute Prism, Prism executes the pl/sql and returns the html
generated by it. Easy? Prism also has a configuration file. </p>

<p>4.2.1 Summary <br>
jserv - configured to mount zones <br>
zone - configured to execute Prism servlet <br>
Prism - configured to connect to database </p>

<p>At first it appears to be confusing, but the architecture if flexible and
versatile. We will configure each file as needed. Once you have been through a
few configurations it becomes much easier, as your understanding grows it
becomes a breeze. Remember when we started the instructions where written to
get you up and running without having to load OAS, (since you will probably
need to buy more RAM or upgrade NT to the correct service pack, or like many
just give up). </p>

<p>4.3 Requests <br>
When an http request is serviced, apache would normally return and html file,
no mystery here. When a request is made to access a servlet, apache passes the
request onto jserv (apache gets configured to do this) jserv accesses the
servlet (jserv is configured to do this). When the request is made for a pl/sql
procedure, all the above happens the servlet - prism - executes the pl/sql
(prism is configured to do this) and returns html. Voila! </p>

<p>&nbsp;&nbsp; Browser&nbsp; &lt;--&gt;&nbsp; Apache&nbsp; &lt;--&gt;&nbsp;
Jserv&nbsp; &lt;--&gt;&nbsp; Prism&nbsp; &lt;--&gt;&nbsp; PL/SQL </p>

<p><b>5.0 Configuration</b> </p>

<p>Lets assume I want to set up an url that looks like this&nbsp;
http://127.0.0.1/dev/plsql/hw, where hw is the name of a stored procedure (ah
familiar territory for those coming from the oracle database world) </p>

<p>5.1 Configure Apache <br>
Leave <b>httpd.conf </b>alone there is no need to add any configuration data
here. Just needed to mention it the documentation is very extensive. (and you
have the documentation installed for both apache and jserv locally) </p>

<p>5.2 Configure Jserv </p>

<p>5.2.1 We need to modify <b>jserv.conf</b> (sometimes called <b>mod_jserv.conf
</b>depending on your platform) to mount the zones we require (the jserv.conf
file contains directives to the httpd processes (ie apache) on how to handle
the requests. So when we configure <b>jserv.conf</b> we are in fact configuring
apache on how to process certain requests. </p>

<p>5.2.2 This is an extension of mapping virtual paths to actual physical
directories, or executing cgi scripts or processing files of a certain
extension in a particular way (.xml for example). For jserv apache passes the
request to the servlet engine. </p>

<p>5.2.3 Edit the file <b>c:\program files\apache group\Apache JServ
1.1\conf\jserv.conf, </b>find the directive <b>ApjServMount </b>there could be
2 zones already mounted for demos </p>

<p>ApJServMount /servlets /root <br>
ApJServMount /servlet /root </p>

<p>Replace these lines with </p>

<p>#ApJServMount /servlets /root <br>
#ApJServMount /servlet /root <br>
ApjServMount&nbsp; /dev /devzone </p>

<p>You do not need to comment out the root zone demo servlet and servlets, but
KISS again </p>

<p>This tells apache that requests to /dev/***** should be passed to jserv </p>

<p>5.3 Configure Servlet Engine </p>

<p>5.3 Edit the file <b>c:\program files\apache group\Apache JServ 1.1\conf\jserv.properties</b>
</p>

<p>5.3.1 This file has a number of notable lines </p>

<p>The following lines tell jserv where the jre is </p>

<p>wrapper.bin=c:\program files\apache group\jdk1.1.8\bin\java.exe </p>

<p>The following lines tell jserv about needed jar files namely </p>

<p>wrapper.classpath=c:\program files\apache group\Apache JServ
1.1\ApacheJServ.jar <br>
wrapper.classpath=c:\program files\apache group\jsdk2.0\lib\jsdk.jar </p>

<p>Now you know why the installation kept prompting us for directories, it did
some configuration for us. Its the same as a class path environment variable </p>

<p>You can add additional jars and zip files as needed. </p>

<p><b>NOTE: </b>Any jar or zip added here will be available to <b>all zones</b>,
there is a way, as we will see later to add jar files for specific zones. Does
it matter? Well yes from a security standpoint but also from a development
standpoint. Any jar added here will be loaded <b>once on startup </b>of apache,
if we add the jar to the zone it is <b>reloaded when changed</b>. Not a big
deal on your own machine but something to keep in mind for later. </p>

<p>5.3.2 Add jdbc drivers </p>

<p>Just under the line </p>

<p>wrapper.classpath=c:\program files\apache group\jsdk2.0\lib\jsdk.jar </p>

<p>add the lines </p>

<p># NOTE oracle jdbc drivers the oracle home is on drive D NOT C - wherever
your classess111.zip file is <br>
wrapper.classpath=d:\ORANT\jdbc\lib\classes111.zip <br>
# end oracle jdbc drivers </p>

<p>Notice we have not added the prism.jar file we will do that in the zone. </p>

<p>5.3.3 Declare our zones </p>

<p>Find the line </p>

<p>zones=root </p>

<p>and replace it with (to declare a zone names devzone) </p>

<p>#zones=root <br>
zones=devzone </p>

<p>So now the servlet engine (jserv) knows all about our zones, no wait there
is more, each zone has a configuration </p>

<p>5.3.4 Zone configuration files </p>

<p>Find the line </p>

<p>root.properties=c:\program files\apache group\Apache JServ
1.1\servlets\zone.properties </p>

<p>and replace it with (to tell Jserv how to configure the devzone) </p>

<p>#root.properties=c:\program files\apache group\Apache JServ
1.1\servlets\zone.properties <br>
devzone.properties=c:\program files\apache group\Apache JServ
1.1\servlets\dev.properties </p>

<p>5.4 Zone configuration </p>

<p>Copy&nbsp; <b>c:\program files\apache group\prism\conf\zone.properties&nbsp;
to</b> <br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\program
files\apache group\Apache JServ 1.1\servlets\dev.properties</b> </p>

<p>Why bother to copy the files, 2 reasons, first Id like a clean copy of those
distributed so when we go edit them we can always go back to a known starting
point and secondly it keeps all the properties files in the same directory. As
you become more proficient at the configuration you will see that its fairly
flexible and you can come up with your own directory structures for conf files.
</p>

<p>Edit the file <b>c:\program files\apache group\Apache JServ
1.1\servlets\dev.properties </b>replace the lines </p>

<p>repositories=/usr/local/prism/bin/Prism.jar,/usr/local/Cocoon/bin/cocoon.jar
</p>

<p>with </p>

<p>repositories=c:\program files\apache group\prism\bin\prism.jar </p>

<p>This tells the zone to use the prism jar file </p>

<p>Also find the lines (at the bottom) </p>

<p>servlet.plsql.initArgs=properties=/usr/local/prism/conf/prism.properties <br>
servlet.demo.initArgs=properties=/usr/local/prism/conf/prism.properties <br>
servlet.xml.initArgs=properties=/usr/local/Cocoon/conf/cocoon.properties <br>
servlet.xmld.initArgs=properties=/usr/local/Cocoon/conf/cocoon.properties </p>

<p>and replace them with </p>

<p>servlet.plsql.initArgs=properties=c:\program files\apache group\Apache JServ
1.1\servlets\devprism.properties <br>
#servlet.demo.initArgs=properties=/usr/local/prism/conf/prism.properties <br>
#servlet.xml.initArgs=properties=/usr/local/Cocoon/conf/cocoon.properties <br>
#servlet.xmld.initArgs=properties=/usr/local/Cocoon/conf/cocoon.properties </p>

<p>Here I remove some examples that come with Prism, KISS again </p>

<p>5.6 Prism - finally we get there </p>

<p>5.6.1 Copy c:\program files\apache group\prism\conf\prism.properties to <br>
&nbsp;c:\program files\apache group\Apache JServ
1.1\servlets\devprism.properties, remember in dev.properties we pointed to this
file. </p>

<p>5.6.2 Edit c:\program files\apache group\Apache JServ
1.1\servlets\devprism.properties </p>

<p>5.6.2.1 Find the following </p>

<p>global.webmaster=mochoa@ieee.org </p>

<p>Change the email address please. This is used by Prism to display an email
address in the event of an error in a procedure call. </p>

<p>5.6.2.2 Connection string </p>

<p>Find the line </p>

<p>plsql.connectString=jdbc:oracle:thin:@cobra:1521:OI </p>

<p>The connectString is used to tell Prism how to go connect to the DB in the
following format </p>

<p>plsql.connectString=jdbc:oracle:thin:@&lt;Server Name&gt;:&lt;TNS Listener
Port&gt;:&lt;Instance Name&gt; </p>

<p>try </p>

<p>plsql.connectString=jdbc:oracle:thin:@127.0.0.1:1521:ORCL </p>

<p>5.6.2.3 jdbc driver </p>

<p>plsql.compat=8i </p>

<p>replace it with </p>

<p>plsql.compat=7 </p>

<p><b>If you are using db and jdbc drivers prior to 8.1 otherwise leave it
alone</b> </p>

<p>5.6.2.4 Authentication options </p>

<p>Find the line </p>

<p>plsql.DynamicLogin=false </p>

<p>replace it with </p>

<p>plsql.DynamicLogin=true </p>

<p>This will require you to enter the database username and password for the
user whos procedure you are going to execute </p>

<p>5.6.2.5 Other configuration directives </p>

<p>plsql.toolkit=3x - use this if you have the 3.x pl/sql toolkit </p>

<p>plsql.toolkit=4x - use this if you have the 4.x pl/sql toolkit </p>

<p>5.7 PL/SQL Install </p>

<p>Its is assumed that the pl/sql toolkit is installed, if you dont have a copy
go look its all over the web </p>

<p>5.7.1 We need one additional package, execute </p>

<p>c:\program files\apache group\prism\plsql\myows.sql </p>

<p>If you are using synonyms create a synonym. </p>

<p>5.7.2&nbsp; As an oracle user in sql*Plus enter </p>

<p>create procedure HW as <br>
begin <br>
htp.p('Hello Non OAS World!'); <br>
end; </p>

<p>5.7.3 Start Apache (database and tns listener should already be up and
running) and goto </p>

<p><a href="http://127.0.0.1/dev/plsql/hw">http://127.0.0.1/dev/plsql/hw</a> </p>

<p>Either yipee or oh damn. </p>

<p>5.8 When things do not work </p>

<p>Check the various log files for error messages <br>
Sign up on the OWSKiller (aka Prism) mailing list at&nbsp; <a
href="http://owskiller.penguin.cz/">http://owskiller.penguin.cz</a> </p>

<p><a name=addcocoon></a>5.9 Cocoon set up </p>

<p>5.9.1 Download latest cocoon release from <a href="http://xml.apache.org">http://xml.apache.org</a>
</p>

<p>5.9.2 At the time of writing 1.7.3 was the latest, unzip the file to </p>

<p>&nbsp;<b>c:\program files\apache group\cocoon-1.7.3</b> </p>

<p>5.9.3 Edit the file <b>c:\program files\apache group\Apache JServ
1.1\conf\jserv.conf, </b>find the line </p>

<p>#ApJServAction .xml /dev/org.apache.cocoon.Cocoon </p>

<p>Add the following lines </p>

<p>Action cocoon /dev/org.apache.cocoon.Cocoon <br>
AddHandler cocoon xml </p>

<p>Alias /xsl/&nbsp;&nbsp; &quot;C:/Program Files/Apache Group/prism/xsl/&quot;
</p>

<p>The first part tells apache to let cocoon handle all processing for files
with the extension xml, the second part is a virtual path mapping to the xsl style
sheets used in the demo (the demo you are about to add) </p>

<p>5.9.4 Edit the file <b>c:\program files\apache group\Apache JServ
1.1\conf\jserv.properties, </b>add the following lines </p>

<p>wrapper.classpath=c:\program files\apache group\cocoon-1.7.3\bin\cocoon.jar <br>
wrapper.classpath=c:\program files\apache
group\cocoon-1.7.3\lib\xerces_1_0_3.jar <br>
wrapper.classpath=c:\program files\apache
group\cocoon-1.7.3\lib\xalan_1_0_1.jar <br>
wrapper.classpath=c:\program files\apache group\cocoon-1.7.3\lib\fop_0_12_1.jar
</p>

<p><b>NOTE </b>: The numbers 1_0_3.jar etc change with different cocoon
releases </p>

<p>5.9.5 Edit the file <b>c:\program files\apache
group\cocoon-1.7.3\conf\cocoon.properties, </b>add the following lines </p>

<p>########################################## <br>
# Prism DB Producer params <br>
# properties.plsql must be point to corrected prism.properties file !!! <br>
########################################## <br>
producer.type.db = com.prism.CocoonWrapper <br>
producer.properties.db = c:\program files\apache group\Apache JServ
1.1\servlets\devprism.properties </p>

<p>########################################## <br>
# Header Processor, set this to work with cookies, redirect url and dymamic
login <br>
########################################## <br>
processor.type.http = com.prism.HeaderProcessor </p>

<p>########################################## <br>
# Prism Excel Formatter, simple formatter to generate Excel output see PLSQL
demo source for details of usage <br>
########################################## <br>
formatter.type.application/vnd.ms-excel =
org.apache.cocoon.formatter.TextFormatter <br>
formatter.application/vnd.ms-excel.MIME-type = application/vnd.ms-excel </p>

<p># Logic Sheet for XSPConnectionWrapper <br>
processor.xsp.logicsheet.connection.java =
resource://com/prism/xsp/connection.xsl </p>

<p>5.9.5 Edit the file <b>c:\program files\apache group\Apache JServ 1.1\servlets\dev.properties,
</b>Find the line </p>

<p>#servlet.org.apache.cocoon.Cocoon.initArgs=properties=/usr/local/Cocoon/conf/cocoon.properties
</p>

<p>replace it with </p>

<p>servlet.org.apache.cocoon.Cocoon.initArgs=properties=c:\program files\apache
group\Apache JServ 1.1\servlets\cocoon.properties </p>

<p>Find the line <br>
servlet.plsql.code=com.prism.ServletWrapper </p>

<p>Add <br>
servlet.demo.code=com.prism.ServletWrapper <br>
servlet.xml.code=org.apache.cocoon.Cocoon <br>
servlet.xmld.code=org.apache.cocoon.Cocoon </p>

<p>Find the line <br>
servlet.plsql.initArgs=properties=c:\program files\apache group\Apache JServ
1.1\servlets\devprism.properties </p>

<p>Add <br>
servlet.demo.initArgs=properties=c:\program files\apache group\Apache JServ
1.1\servlets\devprism.properties <br>
servlet.xml.initArgs=properties=c:\program files\apache group\Apache JServ
1.1\servlets\cocoon.properties <br>
servlet.xmld.initArgs=properties=c:\program files\apache group\Apache JServ
1.1\servlets\cocoon.properties </p>

<p>All we did here was set up demo, xml and xmld all used in the demo (the demo
we will finally get to) </p>

<p>5.9.6 Edit the file <b>c:\program files\apache group\Apache JServ
1.1\servlets\devprism.properties, </b>Find the line </p>

<p>Find the line </p>

<p>global.alias=plsql </p>

<p>Replace it with </p>

<p>global.alias=plsql demo xml xmld org.apache.cocoon.Cocoon </p>

<p>Set up 'DADs' for demo, xml and xmld (simply copy all the lines for plsql) </p>

<p>5.9.8 Edit <b>c:\program files\apache group\prism\plsql\demo_bdy.sql</b> </p>

<p>At the end of the file replace package initialization part with (this should
have changed at prism version 1.0.1) </p>

<p>BEGIN <br>
&nbsp;&nbsp; url_server := 'http://127.0.0.1'; <br>
END demo; </p>

<p>also replace /servlets/ with /dev/&nbsp; - this needs to be done throughout
the file. </p>

<p>Remember we never set up servlets as a zone dev was used as our mount point.
I do this because I frankly feel there is something confused about calling a
servlet zone servlets. </p>

<p>5.9.7 Log into sql (same user used to add HW procedure) </p>

<p>run the following scripts found in the <b>c:\program files\apache
group\prism\plsql </b>directory </p>

<p>xtf_spc.sql <br>
xtf_bdy.sql <br>
xtp_spc.sql <br>
xtp_bdy.sql </p>

<p>demo_spc.sql <br>
demo_bdy.sql </p>

<p>Note you will also need to have the demo tables added s_inventory etc. These
normally come with oracle (oci directory in a file summit2.sql) if not goto <a
href="http://www.telecomrg.com/hp/darylcollins">http://www.telecomrg.com/darylcollins</a>
get the file and run it <br>
&nbsp; </p>

<p>5.9.8 Check cocoon installed correctly </p>

<p>Copy the directory <b>c:\program files\apache group\cocoon-1.7.3\samples </b>to
<b>c:\program files\apache group\apache\htdocs\samples</b> </p>

<p>Start apache </p>

<p>Goto http://127.0.0.1/Cocoon.xml - general status page </p>

<p>Goto http://127.0.0.1/samples/index.html - lots of cocoon examples </p>

<p>Goto http://127.0.0.1/dev/demo/demo.startup - lots of cocoon examples with
prism and db connections <br>
&nbsp; </p>

<p>6 Credits and Stuff </p>

<p>Since I wrote these instructions oracle have announced iAS and apache based
web server. OK short of going on a rant here Ill let it go at this. Oracle web
development strategy has been a mess from day one (iAS is an admission that
OAS/WAS did not work) Its still a mess - I prefer to focus on delivering high
quality web based applications than attempting to figure out Oracles strategy
du jour. Prism/apache/cocoon are all open source projects, while at first it
may be a little unnerving to use these tools - they have one saving grace -
they work and if you get involved you can help shape their future directions
and development. The other option, get dragged around by the nose by Oracle.
You have a choice. <br>
&nbsp; </p>

<p><a href="mailto:mobius@texas.net">Michael Hagan</a>&nbsp; for the feedback
through all versions of the instructions (his idea to write it up) <br>
<a href="mailto:gary-wong@home.com">Gary Wong</a> being the inspiration for
rewriting the instructions, and for pointing out numerous holes <br>
<a href="mailto:mochoa@ieee.org">Marcelo F.Ochoa</a>&nbsp; for helping and
explaining stuff when I cant figure it out </p>

<p>If you find anything wrong let <a href="mailto:daryl@telecomrg.com">me</a>
know </p>

<p>ToDo List <br>
- Use TomCat not jserv <br>
&nbsp; <br>
&nbsp; </p>

</div>

</body>

</html>
